import Vue from 'vue'
import VueRouter from 'vue-router'
import config from './config'; //路由一般配置较多，所以一般单独配置
import store from '../store';

//1.安装
Vue.use(VueRouter);

//2.创建路由对象
var router = new VueRouter(config);

//router.beforeEach（全局前置守卫）
router.beforeEach(function (to, from, next) {
  // console.log("to", to);
  // console.log("from", from);
  // console.log("====>" + store.state.userStore.isLoading);
  // console.log("====>" + store.state.userStore.user);
  if (to.meta.auth) { //判断到的页面 有没有meta.auth属性 有的话需要鉴权
    if (store.state.userStore.isLoading) {
      // next({ name: "Auth" });
      next({ name: "Auth", params: { path: to.path } })//跳转鉴权页面
    } else if (!store.state.userStore.user) {
      next({ name: "Login" });
    } else { //已经登录成功 可以访问其他页面 
      next(); //允许进入 
    }
  } else { //不需要鉴权 直接通过
    next();
  }
});
const originalPush = VueRouter.prototype.push;

VueRouter.prototype.push = function push(location) {
  return originalPush.call(this, location).catch((err) => err);
};


export default router;